<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Bookmark extends Model
{
    use HasFactory;

    /**
     * 可批量赋值的属性。
     *
     * @var array
     */
    protected $fillable = [
       'user_id', 'title', 'url', 'category_id', 'summary', 'status', 'like_count', 'view_count'
    ];

    /**
     * user 对 Bookmark 一对多反向关联，由 bookmark 表中的 user_id 匹配 user 表的 id
     */
    public function user()
    {
        return $this->belongsTo('App\Models\User');
    }

    /**
     * category 对 Bookmark 一对多反向关联，由 bookmark 表中的 category_id 匹配 category 表的 id
     */
    public function category()
    {
        return $this->belongsTo('App\Models\Category', 'category_id', 'id');
    }

    /*
     * 状态 对应的保存数据和显示文字
     */
    const STATUS_DELECTE = -2; // 软删除
    const STATUS_REFUSE = -1; // 审核不通过
    const STATUS_DRAFT = 0; // 草稿
    const STATUS_NORMAL = 1; // 已发布 但未审核
    const STATUS_REVIEW = 2; // 审核通过

    public static $statusMap = [
        self::STATUS_DELECTE => '软删除',
        self::STATUS_REVIEW => '审核通过',
        self::STATUS_NORMAL => '未审核',
        self::STATUS_DRAFT => '草稿',
        self::STATUS_REFUSE => '审核不通过',
    ];
}
